// 将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5。
package main

import (
	"fmt"
	"strconv"
)

func main() {
	// myAnswer()
	answer()
}

func answer() {
	var n, i int
	fmt.Printf("\nPlease input a number:\n")
	fmt.Scanf("%d", &n)
	fmt.Printf("%d=", n)
	for i = 2; i <= n; i++ {
		for n != i {
			if n%i == 0 {
				fmt.Printf("%d*", i)
				n = n / i
			} else {
				break
			}
		}
	}
	fmt.Printf("%d\n", n)
}

// 控制台输入，用 fmt.Scanf("%d", &num)
// 数字转字符串，用 strconv.Itoa(num)
func myAnswer() {
	var num int
	fmt.Printf("Please input a number:\n")
	fmt.Scanf("%d", &num)
	fmt.Printf("%d=%s", num, split(num))
}

func split(num int) string {
	for i := 2; i < num; i++ {
		if num%i == 0 {
			return strconv.Itoa(i) + "*" + split(num/i)
		}
	}
	return strconv.Itoa(num)
}
